package trastienda.web;

import java.util.Collection;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import trastienda.excepcion.DAOExcepcion;
import trastienda.modelo.Rol;
import trastienda.modelo.Usuario;
import trastienda.service.SeguridadService;
import trastienda.service.UsuarioService;

@Controller
public class UsuariosController {
	
	//Auto cableado
	@Autowired
	private SeguridadService seguridadService;

	//metodo SET
	public void setSeguridadService(SeguridadService seguridadService) {
		this.seguridadService = seguridadService;
	}
	
	@Autowired
	private UsuarioService usuarioService;
	
	
	public void setUsuarioService(UsuarioService usuarioService) {
		this.usuarioService = usuarioService;
	}
	
	@RequestMapping(value = "/cargar_usuarios_agregar_rol")	
	public ModelAndView cargarUsuarioAgregarRol(HttpServletRequest request,
			HttpServletResponse response) {
System.out.println("prueba");
		return new ModelAndView("/admin/listar_usuarios");
	}
	@RequestMapping(value = "/usuarios_agregar_rol")	
	
	public ModelAndView usuarioAgregarRol(HttpServletRequest request, HttpServletResponse response) {
		
		Usuario uvo = new Usuario();
		uvo.setIdUsuario(request.getParameter("idUsuario"));
		
		Rol rvo = new Rol();
		rvo.setRolNombre(request.getParameter("rolNombre"));
		
		try {
			seguridadService.insertarUsuarioRol(uvo, rvo);
		} catch (DAOExcepcion e) {
			return new ModelAndView("/error", "mensaje", e.getMessage());
		}		

		return new ModelAndView("redirect: usuarios_mantener.html");
	}

	@RequestMapping(value = "/usuarios_nuevo", method = RequestMethod.GET)
    protected ModelAndView inicio(HttpServletRequest request,
                    HttpServletResponse response) throws Exception {
            Collection<Usuario> lista = null;
            lista = usuarioService.listarTodos();

            return new ModelAndView("productos_listar", "PRODUCTOS", lista);
    }
	 
	
}
